{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import seaborn as sns\n",
    "import pandas as pd\n",
    "sns.set(font_scale=1.5)\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn import linear_model\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.metrics import mean_absolute_error"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 1: Questions 1 to 3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, we read in the data and look at the first 5 rows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>voltage</th>\n",
       "      <th>current</th>\n",
       "      <th>type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>26.040247</td>\n",
       "      <td>68.654996</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>16.202469</td>\n",
       "      <td>45.383931</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>18.105575</td>\n",
       "      <td>45.662902</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>18.499687</td>\n",
       "      <td>49.730946</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23.625672</td>\n",
       "      <td>64.926232</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     voltage    current     type\n",
       "0  26.040247  68.654996  Silicon\n",
       "1  16.202469  45.383931  Silicon\n",
       "2  18.105575  45.662902  Silicon\n",
       "3  18.499687  49.730946  Silicon\n",
       "4  23.625672  64.926232  Silicon"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "file1 = r'D:\\Programing\\python_projects\\machine_learning_algorithm\\data_set\\voltage_current_data.csv'\n",
    "df_vc = pd.read_csv(file1)\n",
    "df_vc.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Your goals:\n",
    "\n",
    "1a: Using scikit-learn, create a linear model that uses 1 feature to predict current from voltage. You should not set fit_intercept=False when training your model, that is, your model should have a non-zero y-intercept.\n",
    "\n",
    "1b: Compute the mean squared error for your model from part 1a.\n",
    "\n",
    "1c: Using seaborn (a.k.a. sns), create a plot showing a linear regression where you predict current from voltage.\n",
    "\n",
    "2a: Create a linear model that uses the voltage and the material type to predict current. This model should have 4 features (voltage, carbon, silicon, and germanium). As before, you should not set fit_intercept=False when training your model.\n",
    "\n",
    "2b: Compute the mean squared error for your model from part 2a.\n",
    "\n",
    "2c: Using seaborn, create 3 linear regression plots, one for each of the 3 materials. You can do this all on one axis using hue=\"material\", or you can do it on 3 separate axes by looking at the seaborn tutorial.\n",
    "\n",
    "3: Super hard bonus task: Try to create a model that does better than your model in 2b. Hint: Use your plot from part 2c for inspiration. As before, you should not set fit_intercept=False when training your model. Don't be sad if you get stuck, we will cover the solution to this problem in detail in the next lecture."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrm = linear_model.LinearRegression()\n",
    "lrm.fit(df_vc[['voltage']], df_vc['current'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.349683736503806"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrm.intercept_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3.75687657])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrm.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "522.8580481139716"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse = mean_squared_error(lrm.predict(df_vc[['voltage']]), df_vc['current'])\n",
    "mse"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x2817562cc88>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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XGlsa37mZ599BkBhYSElJSUcOnTIlQ64pps3b3p0X8L/SPAUfm/AgAEMHDiQ/fv3M3PmTPbv30+fPn0YPHgwV69erffvlLtb1ep0Oo8/6/XXX2fr1q1ER0cTExPDlClTiI2N5be//a0r0NlsNgD0en2tvzcYDK7/ttvtACQkJPDUU0/V+XkREREe35vwLxI8RZuQmJjIxo0byc7O5tixY66Boara4OXLl2v9TVXK4eq76N/P9evX2bp1K1OmTCElJcXtWFUGTrgX8OoK3FU1YYCwsDCMRiM2m40f/ehHbufduHGDs2fPYjQaPbo34X+kz1O0CZMnT8bhcLB+/XqsViuJiYkADB48mG7duvHOO++4pZktLS3l7bffplu3bvUm+6oaGa+qoRYVFQHQv39/t/OOHDnC1atXXTXOLl26EBsby0cffeT6G3A2548ePer6XavVMn78eI4cOVIrg+WGDRtYtGgRhYWFXn0fovVJzVO0CQ888AAjR47k8OHDxMTEEBkZCTib5GvXruXFF19k6tSpTJs2DYB3332XW7dukZqaWmv6UJWqwZ5t27Yxfvx4xo0bR48ePdiyZQtms5mhOh+xAAABtElEQVTw8HBOnz7Nv//9bwwGA2VlZa6/XblyJXPmzGHatGk89dRTWCwWdu7c6ZapEWDFihUcP36cWbNmMWvWLHr06MGnn37K4cOHmTFjhmuKlGh7JIeRaDN2797N2rVrWbNmTa0NPr744gv++te/8vXXX6PVahk+fDgLFy4kLi7OdU58fDw9e/Zk586dABQXF7N06VJOnjxJr1692L9/P9999x0bNmzg9OnTKIpCZGQk06ZNw2azsX79et577z1XTfZ///sfGzdu5OzZs4SGhvL0009z6dIl0tLS+Prrr12fe+3aNVJTUzl27Bjl5eVEREQwffp05syZg0ajaYFvTviCBE8hvHD79m26detWq3zBggWcP3+eTz/9tOVvSrQo6fMUwgtPPvkk8+bNcyvLy8vj+PHjDBs2rJXuSrQk6fMUwgtJSUls2bKF5cuXM3r0aIqLi9m9ezcOh4NFixa19u2JFiDNdiG84HA42LVrF7t37yY7OxuDwcBDDz3E0qVLGTRoUGvfnmgBEjyFEMIL0ucphBBekOAphBBekOAphBBekOAphBBekOAphBBekOAphBBe+H8/NnkU4tF7mAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lmplot(x='voltage', y='current', data=df_vc)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = pd.DataFrame(df_vc[['voltage', 'type']])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>voltage</th>\n",
       "      <th>type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>26.040247</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>16.202469</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>18.105575</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>18.499687</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23.625672</td>\n",
       "      <td>Silicon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>145</th>\n",
       "      <td>15.716044</td>\n",
       "      <td>Germanium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146</th>\n",
       "      <td>15.122615</td>\n",
       "      <td>Germanium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>147</th>\n",
       "      <td>13.102318</td>\n",
       "      <td>Germanium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>148</th>\n",
       "      <td>14.099747</td>\n",
       "      <td>Germanium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>18.694984</td>\n",
       "      <td>Germanium</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>150 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       voltage       type\n",
       "0    26.040247    Silicon\n",
       "1    16.202469    Silicon\n",
       "2    18.105575    Silicon\n",
       "3    18.499687    Silicon\n",
       "4    23.625672    Silicon\n",
       "..         ...        ...\n",
       "145  15.716044  Germanium\n",
       "146  15.122615  Germanium\n",
       "147  13.102318  Germanium\n",
       "148  14.099747  Germanium\n",
       "149  18.694984  Germanium\n",
       "\n",
       "[150 rows x 2 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Carbon</th>\n",
       "      <th>Germanium</th>\n",
       "      <th>Silicon</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Carbon  Germanium  Silicon\n",
       "0       0          0        1\n",
       "1       0          0        1\n",
       "2       0          0        1\n",
       "3       0          0        1\n",
       "4       0          0        1"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dummies = pd.get_dummies(df2['type'])\n",
    "dummies.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_dummies = pd.concat([df2, dummies], axis=1)\n",
    "df_dummies = df_dummies.drop(['type'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrm_type = linear_model.LinearRegression()\n",
    "lrm_type.fit(df_dummies, df_vc['current'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "62.542793422591046"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse2 = mean_squared_error(lrm_type.predict(df_dummies), df_vc['current'])\n",
    "mse2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x28175de5748>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 505.9x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lmplot(data=df_vc, x='voltage', y='current', hue='type')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Our model in 2a has an output that is equal to theta_1*voltage + theta_2 (if silicon) + theta_3 (if carbon) + theta_4 (if germanium)\n",
    "That is, each type has a fixed positive offset.\n",
    "From our plot in 2b shows that this is not a good model. Instead, a better model would be:\n",
    "current = theta_1 * voltage (if silicon) + theta_2 * voltage (if carbon) + theta_3 * voltage (if germanium)\n",
    "To do this, we can replace the dummy value of 1 by the voltage and remove the \n",
    "voltage column."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Carbon</th>\n",
       "      <th>Germanium</th>\n",
       "      <th>Silicon</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>26.040247</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16.202469</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>18.105575</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>18.499687</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>23.625672</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Carbon  Germanium    Silicon\n",
       "0     0.0        0.0  26.040247\n",
       "1     0.0        0.0  16.202469\n",
       "2     0.0        0.0  18.105575\n",
       "3     0.0        0.0  18.499687\n",
       "4     0.0        0.0  23.625672"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_scaled = pd.DataFrame(df_dummies)\n",
    "df_scaled['Carbon'] = df_scaled['Carbon'] * df_scaled['voltage']\n",
    "df_scaled['Germanium'] = df_scaled['Germanium'] * df_scaled['voltage']\n",
    "df_scaled['Silicon'] = df_scaled['Silicon'] * df_scaled['voltage']\n",
    "df_scaled = df_scaled.drop(['voltage'], axis=1)\n",
    "df_scaled.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrm_scaled = linear_model.LinearRegression()\n",
    "lrm_scaled.fit(df_scaled, df_vc['current'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3.9045347 , 5.29989642, 2.72432338])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrm_scaled.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.2044777216614193"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrm_scaled.intercept_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "25.71421402308475"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse3 = mean_squared_error(lrm_scaled.predict(df_scaled), df_vc['current'])\n",
    "mse3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 2 : Questions 4 and 5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this second part of the homework, we'll use a dataset which relates the size and price of items that were for sale."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>size</th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>28.160139</td>\n",
       "      <td>1000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>30.610467</td>\n",
       "      <td>308.864354</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>18.067518</td>\n",
       "      <td>183.293245</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>16.394573</td>\n",
       "      <td>160.358017</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>21.429342</td>\n",
       "      <td>215.977579</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        size        price\n",
       "0  28.160139  1000.000000\n",
       "1  30.610467   308.864354\n",
       "2  18.067518   183.293245\n",
       "3  16.394573   160.358017\n",
       "4  21.429342   215.977579"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "file2 = r'D:\\Programing\\python_projects\\machine_learning_algorithm\\data_set\\size_price_data.csv'\n",
    "df_size_and_price = pd.read_csv(file2)\n",
    "df_size_and_price.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**For this part, you should complete each task using scikit-learn, not seaborn (sns).** You are welcome to use seaborn to explore the data, but we recommend completing all the tasks below using only scikit-learn code.\n",
    "\n",
    "Your goals:\n",
    "\n",
    "4a: Create a linear regression model that uses the size to predict the price.\n",
    "\n",
    "4b: Create a plot which shows the original data (as a scatter plot). On top of this scatter plot, overlay your linear regression model's predictions of price vs. value. You should see that the slope predicted by the model is way off from the correct slope due to the outlier point.\n",
    "\n",
    "4c: Compute the MAE (L1 loss) and MSE (L2 loss) for your linear model.\n",
    "\n",
    "5a: Now create a linear regression model that minimizes the L1 loss instead of the L2 loss. Create a HuberRegressor model with epsilon = 1 that uses size to predict the price.\n",
    "\n",
    "5b: Repeat task 4b, but now overlay the predictions of the HuberRegressor. You should see that the outlier point is no longer causing us any problems.\n",
    "\n",
    "5c: Compute the MAE (L1 loss) and MSE (L2 loss) for your new model and compare with your answer to 4c."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrm_sp = linear_model.LinearRegression()\n",
    "lrm_sp.fit(df_size_and_price[['size']], df_size_and_price['price'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "35.052812109569416"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mae1 = mean_absolute_error(lrm_sp.predict(df_size_and_price[['size']]),\n",
    "                           df_size_and_price['price'])\n",
    "mae1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9404.44256045564"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse1 = mean_squared_error(lrm_sp.predict(df_size_and_price[['size']]),\n",
    "                          df_size_and_price['price'])\n",
    "mse1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'price')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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xDQKIRERMY1CSERETKMQEhER0yiERETENAohERExjUJIRERMoxASERHTKIRERMQ0CiERETGNQkhEREyjEBIREdMohERExDQKIRERMY1CSERETKMQEhER0yiERETENJdECH311Vfceeed9OrViwEDBvDHP/6R4uJix/rk5GRuvfVWevXqxfXXX8/atWtrfY1du3YxadIkevfuzYABA1i6dCkVFRVNeRgiIvITbh9CX3/9NVOmTCE0NJQXX3yR2bNn89FHHzF//nwA0tLSmDVrFt26deO5555j9OjRJCUlsWbNGsfXyMrK4t5778XX15fly5czdepU1q1bx6JFi8w6LBERAbzMHsDPefbZZ7n66qv561//ioeHB4mJidjtdtatW0dpaSkrVqwgJiaGJUuWADBw4EAqKytZtWoVkyZNwsfHh9WrV2O1Wlm5ciU+Pj4MGjQIPz8/Fi5cyMyZMwkLCzP5KEVEWia3PhM6deoUqamp3HnnnXh4eDiWT5w4kS1btuDp6UlqairDhw932m/EiBEUFhaSlpYGwLZt2xgyZAg+Pj6ObUaOHElVVRXJyclNczAiIlKLW4fQd999h2EYtGnThgcffJCrr76aa6+9lqeffpqzZ8+Sk5NDRUUFUVFRTvtFRkYCkJmZSWlpKbm5ubW2CQ4OJjAwkMzMzCY7HhERcebWl+NOnToFwOOPP86wYcN48cUX2bdvH8uXL6esrIwJEyYAEBgY6LRfQEAAADabjaKiojq3qdnOZrO5NKaQkNpf50KFhlovet+WSjVzjerlGtXLNY1RL7cOoZq716655hqefvppABISEjAMg8WLFzN+/HgAp0t15/L09MQwjHq3MQwDT0/XTgbz823Y7YZL+0D1/7wTJ4pc3q8lU81co3q5RvVyzcXWy9PT47y/vLv15biaM5qBAwc6LR8wYACGYbBr1y6AWmczNZ+tVqvjDKiuM56SkhKsVv0mJCJiFrcOoa5duwJQXl7utLzmDCkiIgKLxUJ2drbT+prPUVFRBAQEEBYWRlZWltM2+fn52Gy2WnNFIiLSdNw6hKKjo+nUqRP/+Mc/nJZv3boVLy8vevfuTZ8+fdi8ebPjshvApk2bsFqtxMXFAdC/f3+2bt3qFGabNm3CYrEQHx/fNAcjIiK1WBYsWLDA7EHUx8PDg9DQUNatW8fhw4cJDAxk48aNvPDC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yy67zOzhuY1Dhw4xffp0ioqKmDJlCoGBgQCkpaUxbdo04uPjefDBB7FaraxYsQJ/f3+uueYak0fd9F5++WWSkpIYN24cM2fOpGvXrrz66qukpaVx8803q14/8dJLL7F06VImT57Mb37zGwzDYPHixURHR9O9e3fV6zw+/PBDXnrpJdq0acM999wDNOLfR0MazdChQ40HH3zQadncuXONkSNHmjQi91JRUWGsX7/e6N27txEfH2/06NHDyM3NdayfPHmycfvttzvtk5SUZPTp08coKytr6uGaym63G3379jUWLFjgtPyTTz4xevToYezZs0f1Okd5ebnRt29f4w9/+IPT8rvvvtu48847DcPQz1d98vLyjL59+xoDBw40hg4d6ljeWPXS5bhGkpOTQ3Z2NsOHD3daPmLECA4dOkROTo5JI3MfO3bs4Nlnn2Xq1Kk88sgjTuvKyspITU2ts36FhYWkpaU15VBNV1xczJgxY7jpppuclnfr1g2A/fv3q17nsFgsvP7668yYMcNpube3N2VlZfr5Oo/58+fTv39/EhISHMsas14KoUZy6NAhAKKiopyWR0ZGApCZmdnkY3I30dHRbNmyhfvvvx+LxeK0Licnh4qKCtXvB4GBgcyfP59rr73WafmWLVsAiImJUb3O4enpSc+ePQkLC8MwDE6ePMnq1atJSUlhwoQJ+vmqxzvvvMPu3bv53e9+57S8Meul9wk1kqKiIgDH/EaNgIAAAKfJ5JaqXbt29a5T/X7eN998w+rVqxk6dKjqdR6bN2/mgQceAGDw4MGMGTOGjIwMQPU61/fff8+iRYtYtGgRwcHBTusa8+dLZ0KNxPjhNU0eHh51Lvf0VOnPp7761Wjp9duxYwfTp08nIiKChQsXql7nERMTw/r16/nd735HWloaM2bMUL1+wjAMnnzySQYNGsSIESPqXA+NUy+dCTUSq9UK1P4Nobi42Gm91K2++tV8bsn1+8c//sHjjz9O165deeWVVwgKCuLkyZOA6lWXzp0707lzZ/r27UtgYCCPPfaY4x9V1avaG2+8wb59+9iwYQOVlZXAj8FTWVnZqH8fFUKNpObaaXZ2Nj179nQsz8rKclovdevSpQsWi4Xs7Gyn5TWfW2r91q1bx+LFi4mPj+eFF15w/OVXvZydPn2azz77jISEBMLCwhzLY2JiADhy5IjqdY5NmzZRUFDAgAEDaq2LjY1lwYIFjVavlnXO2YQiIyOJiIjgn//8p9PyzZs307VrVzp27GjSyC4Nvr6+9OnTh82bNzt+I4PqvyxWq5W4uDgTR2eOd955h2eeeYZRo0bxyiuvOP32qXo5s9vtPP7447z99ttOy7dt2wbAlVdeqXqd4/e//z3vvvuu058hQ4YQHh7Ou+++y8iRIxutXnpYtRFZrVZefPFFCgoK8PDwYN26dbz//vs8/fTTdO/e3ezhuZWMjAz+9a9/OT2sGh4ezqpVqzh48CD+/v588MEHvPzyy8yZM4d+/fqZPOKmlZ+fz/Tp0wkLC2PevHnk5+eTl5fn+OPj40NUVJTq9QN/f39OnTrFa6+9hpeXF+Xl5Xz44Yc8//zzjBs3jltvvVU/X+cICgoiLCzM6U9ycjLHjx/nkUcewd/fv/HqddFPGMkFeeutt4xhw4YZcXFxxqhRo4z333/f7CG5pb///e+1HlY1DMPYvHmzcdNNNxmxsbHG9ddfb6xZs8akEZrr/fffN3r06FHvnw8++MAwDNXrXOXl5cbq1auN4cOHG3FxccbQoUONl156yaiqqnJso3rV77HHHnN6WNUwGqdeHoZxzrmViIhIE9KckIiImEYhJCIiplEIiYiIaRRCIiJiGoWQiIiYRiEkIiKmUQiJXEIef/xxpzZQIpc69Y4TuYRMmDDB6WVjIpc6PawqIiKm0eU4ERExjS7HibiRM2fOsGjRIr744gtOnjxJeHg4o0aN4v7778fX15fHH3+c999/n3379gGcd35o7NixPPPMMwDk5eWxdOlS/vOf/1BcXEx0dDRTp05lzJgxTXJcIvVRCIm4kQcffJA9e/Zwzz330L59e3bu3Mnq1as5ffo0f/zjH2ttn5SUVGvZ+vXr+fbbbxk8eDAAx44d4/bbb8cwDCZNmkSbNm3417/+xW9/+1uOHz/O9OnTG/uwROqlEBJxE/n5+aSkpPDoo48ybdo0AEd45OTk1LnPzTff7PR548aNfPvtt0ydOpWRI0cCsGzZMsrLy9mwYQPt27cH4O6772bevHn89a9/ZezYsYSEhDTikYnUT3NCIm7CarXSqlUr3nzzTTZt2kRJSQkAixYt4m9/+9vP7r93716eeOIJ4uPjeeSRR4Dql7tt2bKFPn364OXlxalTpxx/hg8fTnl5ueNFbyJm0JmQiJvw8fHhD3/4A7/73e944IEH8PHxIT4+nuHDh3PLLbfg6+tb776nTp3if/7nf2jdujXLly/HYrEAUFBQQFFREVu2bGHLli117pubm9soxyNyIRRCIm5k9OjRXHfddWzZsoXPP/+clJQUkpOTefPNN3nnnXfq3KeyspIHH3yQ48ePs379eqdLa1VVVQCMGDGCO+64o879O3fu3PAHInKBFEIibqK4uJiMjAy6d+/Obbfdxm233UZ5eTlLlizhtddeIzk5uc79/vznP/Pll1+yYMECrr76aqd1wcHB+Pv7U1lZSWJiotO6o0ePsmfPHvz9/RvtmER+juaERNzE/v37mThxIu+++65jmY+PDzExMQCOS2znevfdd3njjTcYN24cd955Z631Xl5eDBw4kM8//5y9e/c6rXvmmWeYPXs2BQUFDXwkIhdOZ0IibqJXr1706dOHZcuWkZubS8+ePcnNzWX9+vV069aNhIQENm7c6Nh+z549LFiwgHbt2nHdddexYcMG7Ha7Y31AQABDhw7lkUce4csvv2TixIlMnDiRjh078tlnn7F161YmTJhA9+7dzThcEUBte0TcyunTp3n++efZunUrx48fp02bNgwePJi5c+cSGhrq9LDqe++9xxNPPFHv1+rUqRP//ve/AcjKymLFihVs27aNkpISOnfuzO23386kSZPqPMMSaSoKIRERMY3mhERExDQKIRERMY1CSERETKMQEhER0yiERETENAohERExjUJIRERMoxASERHTKIRERMQ0CiERETHN/wf3sHbz85eZiwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(df_size_and_price['size'], df_size_and_price['price'])\n",
    "sizes = np.linspace(0, 40, 100).reshape(-1, 1)\n",
    "predictions = lrm_sp.predict(sizes)\n",
    "plt.plot(sizes, predictions)\n",
    "plt.xlabel('size')\n",
    "plt.ylabel('price')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "HuberRegressor(alpha=0.0001, epsilon=1, fit_intercept=True, max_iter=100,\n",
       "        tol=1e-05, warm_start=False)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hub_sp = linear_model.HuberRegressor(epsilon=1)\n",
    "hub_sp.fit(df_size_and_price[['size']], df_size_and_price['price'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'price')"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAEWCAYAAADPZygPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deVxU9d4H8M/MwAAyIwyIKIvDkgtooqYYLrhkIrc0l9TMcEGvy+OeltbTYvd6L4pdJCozcynXx5c9abkQRKn3wbq9QsxU0ExhwJTUAYQBBIY5zx/IxMiiowxnYD7v18vX687vnDP9zveiH37n/M7vSARBEEBERCQCqdgdICIi28UQIiIi0TCEiIhINAwhIiISDUOIiIhEwxAiIiLRMISIiEg0dmJ3oKUpKCiBwWD+o1Xu7gpotToL9Kj1Ys3Mw3qZh/Uyz8PWSyqVQKVybnA7Q8hMBoPwUCFUcyyZhzUzD+tlHtbLPJaoFy/HERGRaKwmhDIzM9G9e3fk5eWZtKempmLChAkICQnB8OHDsW3btjrHnj17FlFRUejduzcGDRqEuLg4VFZWmuyTnZ2NefPmoW/fvujfvz/efvtt6HQcihMRickqLsdduXIFc+fOhV6vN2lPT0/HvHnzEBkZiSVLluDUqVOIjY2FIAiYNWsWAECj0WDGjBno3bs34uPjcfnyZWzYsAE6nQ5vvfUWAOD27duYPn06PDw8sG7dOmi1Wqxfvx55eXn4+OOPm/18iYiomqghpNfrsW/fPvzrX/+Cvb19ne0JCQkIDg7G+vXrAQDh4eHQ6/XYtGkToqKiIJfLsXnzZiiVSmzcuBFyuRxDhgyBo6Mj1qxZg7lz58LT0xO7d+9GUVERDh48CJVKBQDw9PTEnDlzcObMGYSEhDTreRMRUTVRL8edOnUK7777LqKjo7FixQqTbeXl5UhLS8PIkSNN2iMiIlBUVIT09HQAwMmTJzFs2DDI5XLjPqNGjUJVVRVSU1ON+/Tr188YQAAwaNAgODs748SJE5Y6PSKyoB/O5+GVjScRvfY7vLLxJH44n3f/g8jqiBpCgYGBSElJwcKFCyGTyUy25ebmorKyEv7+/ibtarUaAJCVlYWysjJcv369zj5ubm5QKBTIysoCUH257959ZDIZfHx8jPsQUcvxw/k8fJZ4AdqicgCAtqgcnyVeYBC1QKKGULt27eDu7l7vtuLiYgCAQqEwaXd2rp5vrtPpGtynZr+aiQfFxcX33YeIWo4vTlxGhd5g0lahN+CLE5dF6hE9LKuYmFCfmnftSSSSerdLpdJG9xEEAVLpnxn7IPs8CHf3umH2oDw8lA99rK1izcxjK/XKvzsCqq/dnBrYSr2aiiXqZbUhpFRWn+y9I5Waz0ql0ji6qW80U1paavwOhUJR7z4lJSXw9vY2q19are6hHtjy8FDi5s1is4+zZayZeWypXm5tHYyX4u5tf9Aa2FK9msLD1ksqlTT6y7vVPCd0r06dOkEmkyEnJ8ekveazv78/nJ2d4enpCY1GY7KPVquFTqcz3gfy9/evs09VVRWuXr1a514REVm/8UMCIbcz/edLbifF+CGBIvWIHpbVhpCDgwP69u2L5ORk42U3AEhKSoJSqUSPHj0AAAMHDsSxY8dQUVFhso9MJkNoaKhxnx9//BGFhYXGfVJTU1FaWooBAwY00xkRUVMJ694B0yO7wb2tAwDAva0Dpkd2Q1j3DiL3jMxltZfjAGD+/PmYOXMmli1bhnHjxuH06dPYunUrli9fDicnJwDA7NmzceTIEcyZMwfTp09HdnY24uLiMGnSJHh5eQEAXnzxRezatQszZszAggULUFhYiPXr1yM8PBx9+vQR8xSJ6CGFde/A0GkFrHYkBABhYWF4//33cfnyZSxYsACHDh3Cq6++ir/+9a/GfQIDA7Ft2zaUlpZi8eLF2L59O2bOnIn//u//Nu7j5uaGHTt2wNXVFStWrMCGDRswatQobNiwQYzTIiKiuyRC7WtddF+cmNB8WDPzsF7mYb3MY3MTE4iIqPVjCBERkWgYQkREJBqGEBERiYYhREREomEIERGRaBhCREQkGoYQERGJhiFERESiYQgREZFoGEJERCQahhAREYmGIURERKJhCBERkWgYQkREJBqGEBERiYYhREREomEIERGRaBhCREQkGoYQERGJhiFERESiYQgREZFoGEJERCQahhAREYmGIURERKJhCBERkWgYQkREJJoWEUJ79+5FZGQkevXqhdGjR+Orr74y2Z6amooJEyYgJCQEw4cPx7Zt2+p8x9mzZxEVFYXevXtj0KBBiIuLQ2VlZXOdAhER1cPqQ2jfvn1YvXo1hg4dio0bN2LAgAF45ZVXkJiYCABIT0/HvHnzEBAQgPfffx+jR49GbGwstm7davwOjUaDGTNmwMHBAfHx8YiOjsb27dsRExMj1mkREREAO7E7cD8HDhxA//79sXLlSgDAgAEDcO7cOezZsweRkZFISEhAcHAw1q9fDwAIDw+HXq/Hpk2bEBUVBblcjs2bN0OpVGLjxo2Qy+UYMmQIHB0dsWbNGsydOxeenp5iniIRkc2y+pFQeXk5nJ2dTdpcXV1RWFiI8vJypKWlYeTIkSbbIyIiUFRUhPT0dADAyZMnMWzYMMjlcuM+o0aNQlVVFVJTUy1/EkREVC+rD6Fp06bh//7v/5CYmAidToevv/4ax48fx3PPPYfc3FxUVlbC39/f5Bi1Wg0AyMrKQllZGa5fv15nHzc3NygUCmRlZTXbuRARkSmrvxz3zDPP4D//+Q+WLl1qbBs3bhxmz56N06dPAwAUCoXJMTUjJ51Oh+Li4nr3qdlPp9OZ1R9397rf86A8PJQPfaytYs3Mw3qZh/UyjyXqZfUhNH/+fJw+fRqvvfYagoODcebMGWzcuBEKhQJ/+ctfAAASiaTeY6VSKQRBaHAfQRAglZo3GNRqdTAYBDPPovr/vJs3i80+zpaxZuZhvczDepnnYesllUoa/eXdqkMoPT0dqampiImJwfjx4wEAoaGhaNu2Ld566y08//zzAFBnNFPzWalUGkdA9Y14SktLoVTyNyEiIrFY9T2ha9euAQD69Olj0t63b18AQGZmJmQyGXJycky213z29/eHs7MzPD09odFoTPbRarXQ6XR17hUREVHzseoQqgmIn376yaT9559/BgAEBASgb9++SE5ONl52A4CkpCQolUr06NEDADBw4EAcO3YMFRUVJvvIZDKEhoZa+jSIiKgBVn05rnv37hgxYgT++c9/oqSkBEFBQTh37hw+/PBDhIeHIyQkBPPnz8fMmTOxbNkyjBs3DqdPn8bWrVuxfPlyODk5AQBmz56NI0eOYM6cOZg+fTqys7MRFxeHSZMmwcvLS+SzJCKyXRKh9hDCClVUVOCDDz7AV199Ba1WC29vbzz77LOYM2eO8bmfb775BgkJCcjKyoKnpyemTp2K6Ohok+9JS0tDbGwsMjMzoVKpMHbsWCxatAj29vZm9YcTE5oPa2Ye1ss8rJd5LDUxwepDyNowhJoPa2Ye1ss8rJd5LBVCVn1PiIiIWjeGEBERiYYhREREomEIERGRaBhCREQkGoYQERGJhiFERESiYQgREZFoGEJERCQahhAREYmGIURERKJhCBERkWgYQkREJBqGEBERiYYhREREomEIERGRaBhCREQkGoYQERGJhiFERESiYQgREZFoGEJERCQahhAREYmGIURERKJhCBERkWgYQkREJBqGEBERiaZFhNBPP/2EKVOmICQkBIMGDcLf//53lJSUGLenpqZiwoQJCAkJwfDhw7Ft27Y633H27FlERUWhd+/eGDRoEOLi4lBZWdmcp0FERPew+hD6+eefMXPmTHh4eOCjjz7CggUL8NVXX+GNN94AAKSnp2PevHkICAjA+++/j9GjRyM2NhZbt241fodGo8GMGTPg4OCA+Ph4REdHY/v27YiJiRHrtIiICICd2B24n3fffRe9evXCe++9B4lEggEDBsBgMGD79u0oKytDQkICgoODsX79egBAeHg49Ho9Nm3ahKioKMjlcmzevBlKpRIbN26EXC7HkCFD4OjoiDVr1mDu3Lnw9PQU+SyJiGyTVY+E8vPzkZaWhilTpkAikRjbp06dipSUFEilUqSlpWHkyJEmx0VERKCoqAjp6ekAgJMnT2LYsGGQy+XGfUaNGoWqqiqkpqY2z8kQEVEdVh1Cv/76KwRBgIuLC5YuXYpevXrhiSeewNtvv407d+4gNzcXlZWV8Pf3NzlOrVYDALKyslBWVobr16/X2cfNzQ0KhQJZWVnNdj5ERGTKqi/H5efnAwBWrVqFp59+Gh999BEuXryI+Ph4lJeXY/LkyQAAhUJhcpyzszMAQKfTobi4uN59avbT6XSWPAUiImqEVYdQzey1Pn364O233wYAhIWFQRAErFu3DpMmTQIAk0t1tUmlUgiC0OA+giBAKjVvMOjuXjfMHpSHh/Khj7VVrJl5WC/zsF7msUS9rDqEakY04eHhJu2DBg3C2rVrcfbsWQCoM5qp+axUKo0joPpGPKWlpVAqzSuqVquDwSCYdQxQ/X/ezZvFZh9ny1gz87Be5mG9zPOw9ZJKJY3+8m7V94T8/PwAABUVFSbtNSMkHx8fyGQy5OTkmGyv+ezv7w9nZ2d4enpCo9GY7KPVaqHT6ercKyIioubzUCGk1+tx+vRpHD16FLdu3YJOp8Pt27ebum8IDAyEt7c3jh49atJ+7Ngx2NnZoXfv3ujbty+Sk5ONl90AICkpCUqlEj169AAADBw4EMeOHTMJs6SkJMhkMoSGhjZ5v4mI6MHIVq9evdqcAxITEzFr1izs2rULycnJGDx4MK5evYrJkyfDzs4Offr0abLOSSQSeHh4YPv27cjOzoZCoUBiYiI+/PBDREVF4emnn0aHDh2wadMmXL58GU5OTjh48CA++eQTLFq0CP379wdQPSLatm0b0tLS4OLiguPHj2P9+vWYOHEiRo8ebVafysoqIJh/NQ7Ozg4oLa24/45kxJqZh/UyD+tlnoetl0QiQZs28ga3mxVCqampWLRoEYKCgjBt2jSkpqZi7Nix6NixI37++WccPHgQvr6+6Natm9kdbUjnzp3RrVs3JCUlYceOHbh8+TJmzpyJJUuWQCKRwNfXF127dsXXX3+N3bt34/fff8f8+fMxe/Zs43e4ubmhX79+OH78OHbu3IkLFy5gypQpWLFiBWQymVn9YQg1H9bMPKyXeVgv81gqhCSC8OD/pE6ZMgVVVVX4n//5H9y+fRthYWHYvn07wsLCoNfrMW3aNNy5cwdffPGF2R1tKTgxofmwZuZhvczDepnHKiYmZGZm4plnnql3WrOdnR2effZZPvxJREQPzKwQsre3h16vb3B7YWEh7O3tH7lTRERkG8wKodDQUHz++ecoLy+vs+3GjRvYs2cPnnjiiSbrHBERtW5mPaz68ssvY/LkyRgzZgzCw8MhkUjw7bff4vjx4zhw4AAqKiqwePFiS/WViIhaGbNGQoGBgdi9ezfat2+PnTt3QhAE7Nq1C5999hk6deqETz/9FEFBQZbqKxERtTJmL9vTtWtX7Ny5E4WFhcjJyYHBYIC3tzc8PDws0T8iImrFzF4x4dy5c1i2bBmqqqrQs2dP9OrVC9u2bcPixYtx+fJlS/SRiIhaKbNCKC0tDS+++CJOnjyJgoICY7uHhwdOnTqF559/HhcuXGjyThIRUetkVgi999578Pf3R3JyMh577DFje3R0NI4ePQpfX1/861//avJOEhFR62T2w6qTJ0+Gq6trnW0uLi6YNGkSfvnllybrHBERtW5mhZCdnZ3JZbh76XQ6GAyGR+4UERHZBrNCqH///ti1axdyc3PrbPvjjz+wa9cuvhqBiIgemFlTtJcsWYKJEycaH1b18/ODRCJBTk4OTpw4AYlEgpdfftlSfSUiolbGrBAKCAjAF198gQ0bNuDf//43kpKSAACOjo4YOHAgXn75ZQQGBlqko0RE1PqY/bCqWq1GfHw8BEFAQUEBDAYDVCqV2e/lISIiMjuEakgkEri5uTVlX4iIyMY0GkJPPfUUXn/9dTz11FPGz/cjkUiQkpLSNL0jIqJWrdEQ8vLyQps2bUw+ExERNZVGQ2jnzp0mnxMSEqBSqSzaISIish1mPSc0btw4bNy40VJ9ISIiG2NWCOXn56Ndu3aW6gsREdkYs0Jo9OjR2LdvH65evWqp/hARkQ0xa4q2VCrFlStXEBERgU6dOsHd3R1SqWmOSSQSfPbZZ03aSSIiap3MCqGTJ08aJyaUl5fj2rVrFukUERHZBrNC6LvvvjP+7/z8fFy7dg0ymQw+Pj5QKpVN3jkiImrdzF4xIS0tDe+++y5++eUXCIIAAJDJZHjyySexcuVKdO7cuck7SURErZNZIfTjjz9i1qxZaNOmDV588UX4+fmhqqoK2dnZOHToEF544QXs3bsXXbp0sVR/iYioFTErhOLj4+Ht7Y29e/fWWTduwYIFmDRpEuLi4rBp06Ym7WRtCxcuxMWLF/HNN98Y21JTU7Fhwwb89ttvcHd3x0svvYTo6GiT486ePYvY2FicO3cOzs7OGD9+PBYtWgR7e3uL9ZWIiBpn1hTtCxcuYMqUKfUuXNquXTu8+OKL+Omnn5qsc/f68ssvTcIHANLT0zFv3jwEBATg/fffx+jRoxEbG4utW7ca99FoNJgxYwYcHBwQHx+P6OhobN++HTExMRbrKxER3Z9ZIyF3d3dotdoGt5eXl0OhUDxyp+rzxx9/4B//+Ac6dOhg0p6QkIDg4GCsX78eABAeHg69Xo9NmzYhKioKcrkcmzdvhlKpxMaNGyGXyzFkyBA4OjpizZo1mDt3Ljw9PS3SZyIiapxZI6F58+Zhx44dJrPkapw5cwY7duzAggULmqxztb3xxhsYOHAgwsLCjG3l5eVIS0vDyJEjTfaNiIhAUVER0tPTAVRPLR82bBjkcrlxn1GjRqGqqgqpqakW6S8REd2fWSOhn3/+Ge7u7liwYAECAgIQGBgIe3t75Obm4uzZs5DL5Th8+DAOHz5sPKYpHl7dv38/zp8/j8OHDyM2NtbYnpubi8rKSvj7+5vsr1arAQBZWVkICQnB9evX6+zj5uYGhUKBrKysR+obEVFrYxAE5P6hQ6amABmafGRdK8L8CSEI9nVp8v+WWSH0/fffAwA6duyIsrIynDt3zritY8eOANDkS/r8/vvviImJQUxMTJ17UcXFxQBQ5xKgs7MzAECn0zW4T81+Op3OrP64uz/85UYPDz5LZS7WzDysl3lYr2qCIOD6rRKcuXQTZy7dwi+/3UJxaQUAwKe9AkOf8EXPx9pB1daxyf/bD/2wanMQBAGvv/46hgwZgoiIiHq3A9WjrfpIpdJG9xEEoc6yQ/ej1epgMAhmHQNU/7DfvFls9nG2jDUzD+tlHluvV6GuHJnZ1SOdTE0B8ovKAQAqpQN6BrghyE+FILUbVEqH6va2jg9VL6lU0ugv7w/9eu/msHv3bly8eBGHDh2CXq8H8Gfw6PV64yoN945maj4rlUrjCKi+EU9paSlXeiAim1B6pxIXcgqNwXNdWwoAcHa0Qze1Cs88qUKQnxs8VU4N/mJvCVYdQklJSSgoKMCgQYPqbOvevTtWr14NmUyGnJwck201n/39/eHs7AxPT09oNBqTfbRaLXQ6XZ17RURErUFFZRUu/X4bmdkFyNTkIzuvGIIAyO2l6OLjikE9OyJY7QZfTwWkzRg697LqEHrnnXdQUlJi0vbhhx8iMzMTH3zwAXx8fJCYmIjk5GRMnz7dmN5JSUlQKpXo0aMHAGDgwIE4duwYXn31VeMMuaSkJMhkMoSGhjbvSRERWUCVwYDs68XI0BQgMzsfv/1eBH2VATKpBP5ebTF6gB+C1CoEervATmbebQhLsuoQCggIqNPm6uoKuVyOxx9/HAAwf/58zJw5E8uWLcO4ceNw+vRpbN26FcuXL4eTkxMAYPbs2Thy5AjmzJmD6dOnIzs7G3FxcZg0aRK8vLya9ZyIiJqCIAj4/VbJ3ZFOAS7mFqCsvAoA4NtegeF9vBGkVqGLryucHKz3n3rr7dkDCgsLw/vvv4+EhAQsWLAAnp6eePXVV02W7QkMDMS2bdsQGxuLxYsXQ6VSYebMmVi0aJGIPSciMs+twrLqkc7dP0Ul1TPYPFwd0a+bJ4L9VOimVqFtG/l9vsl6SISaO/30QDg7rvmwZuZhvczTEupVVFqBC5oCZNy9r3Oz8A4AoK2zHEFqFYLVKgT5qdDOxcnifXnYerXo2XFERLbkToUev+YWIiO7Oniu3qye1evkIENXXxVGPOGLYD8VvNo5N+sMNktiCBERiURfZcDl32/fXZmgAFnXilBlEGAnk+Ix77YYFx6AYLUKfh2VkJn5TGNLwRAiImomNcvhZGjykZldgF+vFqKi0gCJBPDroEREaCcE+anQ2dsFcnuZ2N1tFgwhIiILEQQBfxSUITM7HxmaAlzQFKDkTvWD9x3d22Dw414I8lOhWydXtHG0zXebMYSIiJpQQXE5Mu+OdDJz/lwOx62tA3p1bodgtRu6qVXG5XBsHUOIiOgRlNypxMV6lsNRONmjWydXPBPmhmC1Cu2beTmcloIhRERkhkaXw/F1xeCeXghSq0RfDqelYAgRkU374XwevjhxGdqicri3dcD4IYEI6/7nG5wbWw4n4O5yOMF+bgjwamtVy+G0FAwhIrJZP5zPw2eJF1ChNwAAtEXl+PRoJvKL7kBuJ6uzHE6n9go89YQ3gtRu6OLrAkc5/wl9VKwgEdmsL05cNgZQjcoqAf974goAoL3KCf2DPBHk54ZunVyhbEHL4bQUDCEisjlFJRW4cPV3aO/OXKtP7PywZlkOx9YxhIio1Ssr1+NibqFxMsHVm9WviJEAqG8lSPe2DgygZsIQIqJWp1JfvRxO9YrT+ci6VgyDUL0cTmcfF4wP98SAXt7IvHwLO5MumlySk9tJMX5IoIi9ty0MISJq8QwGATk3iu8+q1OAS7mFqNDXLIfTFpFPdkKQWoXHai2H4+GhhFsbe0ilkkZnx5FlMYSIqMURBAF5+aXV79XJLsCFnD+Xw/Fq54zBIV4IVqvQ9QGWwwnr3oGhIyKGEBG1CLWXw8nQFKCg+M/lcHp39kCQnwpBahVcFVwOpyVhCBGRKGo/JOrsKINEIoGuTG+8JNYz0B0XNIXI1OQjI7sAefm1lsOp9UK39q5cDqclYwgRUbO79yHRkjtVxm3aonJsOZRhnLXmYC9DF19XhId4IdhPBZ/2XA6nNWEIEZHF3bs0TnllVZ2HRGsTUP020SXPh3A5nFaOIURETa526Cic7FB2R4+qu0Obxh4Qra2svApdfF0t2EuyBgwhIjLbzqQLOPHzNRgEQCoBhvTyQlREN/xwPg97vrlocnlNV6Z/qP+Ge1tOMLAFDCEiemA/nM/Djq8zUV755zoDBgE4dvoaLuYU4GbhHVRW1bcGgXn4wKjtYAgR0X39cD4Pe1N+bXRUc01bZtZ3OjvK4Ci3a3B2HJ/dsQ0MISIbd+8lNIWTHfp1a49fLmvrvafTFOR2Urz4dFcGDTGEiGxVQ6MbXZkex05fM/n8qOxkEjjYS1Fyp4ojHTLBECKyQfc+p2NJCic7TBnRhaFD9bL6EDIYDNi3bx/27NmDq1evwt3dHU899RQWLVoEhUIBAEhNTcWGDRvw22+/wd3dHS+99BKio6NNvufs2bOIjY3FuXPn4OzsjPHjx2PRokWwt298XSmi1uBB7uk8KokEGNrLy3gZjyMeehBWH0JbtmxBfHw8Zs2ahbCwMGRlZSEhIQG//fYbtm7divT0dMybNw+RkZFYsmQJTp06hdjYWAiCgFmzZgEANBoNZsyYgd69eyM+Ph6XL1/Ghg0boNPp8NZbb4l8hkSWUftZHUtzsJdg2qggBg6ZzapDSBAEbNmyBZMnT8by5csBAAMGDIBKpcKyZcuQmZmJhIQEBAcHY/369QCA8PBw6PV6bNq0CVFRUZDL5di8eTOUSiU2btwIuVyOIUOGwNHREWvWrMHcuXPh6ekp5mkSNbmmvtzGezpkKVYdQiUlJRgzZgwiIyNN2gMCAgAAly5dQlpaGpYuXWqyPSIiAlu2bEF6ejqefPJJnDx5EsOGDYNc/uf74UeNGoV33nkHqampmDBhguVPhsgCao92PFROGDvIH/26tce+by89cgApnOw4ZZoszqpDSKFQ4I033qjTnpKSAgAIDg5GZWUl/P39Tbar1WoAQFZWFkJCQnD9+vU6+7i5uUGhUCArK8tCvSd6dPeuuVY7DO4d7dwsKMOWwxn49OgFVFY9fADJ7SSYHslLa9Q8rDqE6nPmzBls3rwZI0aMQHFxMQAYJyjUcHZ2BgDodLoG96nZT6fTWbjHRA/u3tcblJZXQai15tq2wxkAgEBvF+z55tc6ox1BAKRSQCG3u+8kBJkECOdEAhJZiwqhU6dOYd68efDx8cGaNWuMo5iG3iUilUoh3P0bXN8+giBAKjVvdV5397ph9qA8PJQPfaytspWaHT+Vi80Hz6K4tNLYVnv9tRpVArDlcIYxmOpTUWnAwom98MH+MyivrPsdAKBsY485Yx/H0Cd8H7nvLZmt/Hw1FUvUq8WE0NGjR7Fq1Sr4+flhy5YtUKlUuHXrFgDUGc3UfFYqlcYRUH0jntLSUiiV5hVVq9XBYDD/0XEPDyVu3iw2+zhb1lprdu8ltp6B7jh5Nu+B7+EIAjD16S448n0WCksq62x3a+uA7p1cMW1U1wYv5dVojfV9UK3158tSHrZeUqmk0V/eW0QIbd++HevWrUNoaCg+/PBDY3B06tQJMpkMOTk5JvvXfPb394ezszM8PT2h0WhM9tFqtdDpdHXuFRE1tdqhI7eToEL/5y8x2qJyk9UJHtRTT/igjaNdnRlwtRf+DOvegZfWyOpZ/Zui9u/fj7Vr1yIyMhJbtmwxGbk4ODigb9++SE5ONl52A4CkpCQolUr06NEDADBw4EAcO3YMFRUVJvvIZDKEhoY238mQzfjhfB5e2XgS0Wu/wyeHMozP6tQOoIelcBs6IWkAABH/SURBVKr+3TGsewdMj+xmfOWBh8oJ0yO7MXioRbHqkZBWq8U//vEPeHt7Y+rUqcjIyDDZ3qlTJ8yfPx8zZ87EsmXLMG7cOJw+fRpbt27F8uXL4eTkBACYPXs2jhw5gjlz5mD69OnIzs5GXFwcJk2aBC8vLzFOjVopS69MYCeTYMqILsbPtUc7vLxELZFEEBq7xSmugwcPYuXKlQ1uj42NxXPPPYdvvvkGCQkJyMrKgqenJ6ZOnVpn2Z60tDTExsYiMzMTKpUKY8eOfahle3hPqPm0lJpZKnjuXc36frPXWkq9rAXrZR5L3ROy6hCyRgyh5mPNNWvqJXGG9X70qdLWXC9rxHqZx6YnJhA1t9ohI5VUvz20NqlEAkMT/f42rHf1q7GJbBFDiOge965EUN/AtykCSCoBZj0bzIkEZNMYQmSzGloS54sTly3+nh25nZQz2YjAECIbtTPpgsnzOdqicnx6NBNFJRUWefVBkNoVNwrKuDwO0T0YQmRzfjifV+8DopVVAvZ999sjf79MKkHV3Wt4UgkwpBfv+RA1hCFErVrtS24KJzsYDAaUljd+qW3i0EAc/L8rqKxq/L6Pg70M5ZV8vw7Ro2AIUav1w/k8fHo00xgmD/Icj3tbB0Q+qYar0qHB2XEc3RA1HYYQtSoGg4DsvGJkavLxVWrWfUcz9+K6a0TNiyFELZogCLimLUVmdj4yNQW4kFOIsvKHW7lgWG8vBg9RM2MIUYujvX0HGZrq0MnUFOC2rnph2nYujujXzQNBajcEqVX4+2c/PdBMN97TIRIPQ4isXnFpBS7kFCIzOx8ZmgLcKCgDUP1itiC1qvqPnxvauzqZHDd+SGCdVx3Uxmd1iMTHECKrc6dCj19zbyP7Bw3SM/9Azo3qFxI6yGXo6uuK4b29EeTnBm8PZ0gbeKsuAGO41J4dJwgCSu5wRhuRtWAIkej0VQZcuVaEjLv3da5cK0KVQYCdTIpAr7YYO9gfwWo3+HVUwk5m3iuwOMGAyLoxhKjZGQQBuX/okKkpQIYmH5dyb6O8sgoSAJ06KDGyny+C/FQI6+WD4ttlYneXiCyIIUQWJwgCbhSWITO7ABmaAlzQFEBXVgkA6ODWBgMe74BgtQpdO6mgcPrz/U6OcjtwoX2i1o0hRBZxW1eODE0BMrMLkKnJN85SUykd0DPQ3TihwK2to8g9JSIxMYSoSZTe0eNiTvVIJ1NTgGu3SgAAzo526NZJhcgnq0Ong1sbSBqZTEBEtoUhRA+lUl+FS1dvV9/XyS5Adl4RBKF62nNnX1cM7NEBQX4qdGqvhFTK0CGi+jGE6IFUGQzQ5OmMM9guXb0NfZUBMqkE/h3b4tkwPwT7qRDg5QJ7O/NmsBGR7WII2aCGXuZWmyAIuHarxDjSuZj753I4Ph4KDO/jjSC1Cl18XeHkwB8jIno4/NfDxtz76mptUTk+S7wAAOjs42JcCiczuwC3S6qXw/FwdUS/bu0R7KdCt04qtHWWi9Z/ImpdGEI2pr5XV1foDdh6JBOGu+8raNvGHkF+1euvBatVaHfPcjhERE2FIWRD7lToG1zQ02AQMOWpzgjyU8G7nTNnsBFRs2AItWL1LYfTEPe2Dni6n28z9o6IiCHUqty7HM6vuYWoqDRAAkDdQYmRodUhk/JTrsnL3uR2UuPL3IiImhNDqAUTBAE3CsrurkyQjws5hcblcDq6t8GgxzsiSO2GbmpXODv+uRyOj4fivrPjiIiaA0OohSnUld9dg636Elt+reVwQgLdEeSnQpDaDSqlQ4PfwZWlicha2FQIHT58GB999BFyc3Ph7e2NuXPnYuzYsWJ3q1GldypxMacQGZoCZGTn47q2FMDd5XDUKjzzZPUL3TxVTpxMQEQtjs2EUGJiIlasWIFp06Zh8ODBSElJwcqVK+Ho6IhRo0aJ3T2jisoq/PZ7Pcvh2EvRxccVg3p2RLDaDb6eikZf6EZE1BLYTAjFxcUhMjISr7/+OgBg8ODBuH37Nt577z1RQ6jKYEB2XvHd1abvWQ7Hqy1GD/BDkFqFQG8Xs1/oRkRk7WwihHJzc5GTk4OXX37ZpD0iIgKJiYnIzc2Fr2/zTE+uWQ6n5jUHF3MLUFZeBQDwbV+9HE6wnwqdfbgcDhG1fjbxr9yVK1cAAP7+/ibtarUaAJCVlWXREBIEAd+l5eKHM78jU/PncjjtXZ0QGuSJILUK3dQqtG3D5XCIyLbYRAgVF1e/n1OhUJi0Ozs7AwB0Op1F//uaP4qxYW862jrLEXz3ZW5Bfiq0c+FyOERk22wihASh+sHMe2eP1bRLpQ9+r8XdXXH/ne7h4aHE7r95QNnGnjPYzOThoRS7Cy0K62Ue1ss8lqiXTYSQUllduHtHPCUlJSbbH4RWqzMu9GkODw8lbt4sNvs4W8aamYf1Mg/rZZ6HrZdUKmn0l3ebmG5Vcy8oJyfHpF2j0ZhsJyKi5mUTIaRWq+Hj44Ovv/7apD05ORl+fn7w8vISqWdERLbNJi7HAcCCBQvw2muvwcXFBUOHDsV3332HxMREbNiwQeyuERHZLJsJofHjx6OiogLbtm3D/v374evri3Xr1uEvf/mL2F0jIrJZNhNCAPDCCy/ghRdeELsbRER0l03cEyIiIutkUyOhpiCVPvxzPo9yrK1izczDepmH9TLPw9TrfsdIhJonNomIiJoZL8cREZFoGEJERCQahhAREYmGIURERKJhCBERkWgYQkREJBqGEBERiYYhREREomEIERGRaBhCFnb48GE888wz6NmzJyIjI3Hw4EGxu2SVMjMz0b17d+Tl5Zm0p6amYsKECQgJCcHw4cOxbds2kXooPoPBgL1792L06NHo3bs3RowYgZiYGJM3BrNefxIEAZ9++ikiIiLQs2dPjBkzBocOHTLZh/Vq2MKFC/H000+btFmiXrLVq1evfuRvoXolJiZi+fLlGD16NObPn4/y8nLEx8ejc+fOeOyxx8TuntW4cuUKZs+ejeLiYsycORMKRfWrgNPT0zFr1iyEhoZi6dKlUCqVSEhIgJOTE/r06SNyr5vfJ598gtjYWIwfPx5z586Fn58fPvvsM6Snp+O5555jve7x8ccfIy4uDtOnT8df//pXCIKAdevWITAwEJ07d2a9GvHll1/i448/houLC6ZNmwbAgn8fBbKYESNGCEuXLjVpW7JkiTBq1CiRemRdKisrhV27dgm9e/cWQkNDhS5dugjXr183bp8+fbowceJEk2NiY2OFvn37CuXl5c3dXVEZDAahX79+wurVq03ajxw5InTp0kXIyMhgvWqpqKgQ+vXrJ/ztb38zaX/ppZeEKVOmCILAn6+G5OXlCf369RPCw8OFESNGGNstVS9ejrOQ3Nxc5OTkYOTIkSbtERERuHLlCnJzc0XqmfU4deoU3n33XURHR2PFihUm28rLy5GWllZv/YqKipCent6cXRVdSUkJxowZg2effdakPSAgAABw6dIl1qsWmUyGnTt3Ys6cOSbt9vb2KC8v589XI9544w0MHDgQYWFhxjZL1oshZCFXrlwBAPj7+5u0q9VqAEBWVlaz98naBAYGIiUlBQsXLoRMJjPZlpubi8rKStbvLoVCgTfeeANPPPGESXtKSgoAIDg4mPWqRSqVomvXrvD09IQgCLh16xY2b96M77//HpMnT+bPVwP279+P8+fP48033zRpt2S9+D4hCykuLgYA4/2NGs7OzgBgcjPZVrVr167Bbazf/Z05cwabN2/GiBEjWK9GJCcnY/HixQCAoUOHYsyYMcjMzATAetX2+++/IyYmBjExMXBzczPZZsmfL46ELES4+5omiURSb7tUytI3pqH61bD1+p06dQqzZ8+Gj48P1qxZw3o1Ijg4GLt27cKbb76J9PR0zJkzh/W6hyAIeP311zFkyBBERETUux2wTL04ErIQpVIJoO5vCCUlJSbbqX4N1a/msy3X7+jRo1i1ahX8/PywZcsWqFQq3Lp1CwDrVR9fX1/4+vqiX79+UCgUWLlypfEfVdar2u7du3Hx4kUcOnQIer0ewJ/Bo9frLfr3kSFkITXXTnNyctC1a1dju0ajMdlO9evUqRNkMhlycnJM2ms+22r9tm/fjnXr1iE0NBQffvih8S8/62WqsLAQx48fR1hYGDw9PY3twcHBAICrV6+yXrUkJSWhoKAAgwYNqrOte/fuWL16tcXqZVtjzmakVqvh4+ODr7/+2qQ9OTkZfn5+8PLyEqlnLYODgwP69u2L5ORk429kQPVfFqVSiR49eojYO3Hs378fa9euRWRkJLZs2WLy2yfrZcpgMGDVqlXYt2+fSfvJkycBAI8//jjrVcs777yDzz//3OTPsGHD0KFDB3z++ecYNWqUxerFh1UtSKlU4qOPPkJBQQEkEgm2b9+OAwcO4O2330bnzp3F7p5VyczMxLfffmvysGqHDh2wadMmXL58GU5OTjh48CA++eQTLFq0CP379xe5x81Lq9Vi9uzZ8PT0xPLly6HVapGXl2f8I5fL4e/vz3rd5eTkhPz8fOzYsQN2dnaoqKjAl19+iQ8++ADjx4/HhAkT+PNVi0qlgqenp8mf1NRU3LhxAytWrICTk5Pl6vXQTxjRA9m7d6/w9NNPCz169BAiIyOFAwcOiN0lq/S///u/dR5WFQRBSE5OFp599lmhe/fuwvDhw4WtW7eK1ENxHThwQOjSpUuDfw4ePCgIAutVW0VFhbB582Zh5MiRQo8ePYQRI0YIH3/8sVBVVWXch/Vq2MqVK00eVhUEy9RLIgi1xlZERETNiPeEiIhINAwhIiISDUOIiIhEwxAiIiLRMISIiEg0DCEiIhINQ4ioBVm1apXJMlBELR3XjiNqQSZPnmzysjGilo4PqxIRkWh4OY6IiETDy3FEVuT27duIiYnBf/7zH9y6dQsdOnRAZGQkFi5cCAcHB6xatQoHDhzAxYsXAaDR+0Pjxo3D2rVrAQB5eXmIi4vDv//9b5SUlCAwMBDR0dEYM2ZMs5wXUUMYQkRWZOnSpcjIyMC0adPQvn17nD59Gps3b0ZhYSH+/ve/19k/Nja2TtuuXbvwyy+/YOjQoQCAP/74AxMnToQgCIiKioKLiwu+/fZbvPLKK7hx4wZmz55t6dMiahBDiMhKaLVafP/993j11Vcxa9YsADCGR25ubr3HPPfccyafExMT8csvvyA6OhqjRo0CAGzYsAEVFRU4dOgQ2rdvDwB46aWXsHz5crz33nsYN24c3N3dLXhmRA3jPSEiK6FUKtGmTRvs2bMHSUlJKC0tBQDExMTg008/ve/xFy5cwGuvvYbQ0FCsWLECQPXL3VJSUtC3b1/Y2dkhPz/f+GfkyJGoqKgwvuiNSAwcCRFZCblcjr/97W948803sXjxYsjlcoSGhmLkyJEYO3YsHBwcGjw2Pz8f//Vf/4W2bdsiPj4eMpkMAFBQUIDi4mKkpKQgJSWl3mOvX79ukfMhehAMISIrMnr0aAwePBgpKSk4ceIEvv/+e6SmpmLPnj3Yv39/vcfo9XosXboUN27cwK5du0wurVVVVQEAIiIi8MILL9R7vK+vb9OfCNEDYggRWYmSkhJkZmaic+fOeP755/H888+joqIC69evx44dO5Camlrvcf/85z/x448/YvXq1ejVq5fJNjc3Nzg5OUGv12PAgAEm265du4aMjAw4OTlZ7JyI7of3hIisxKVLlzB16lR8/vnnxja5XI7g4GAAMF5iq+3zzz/H7t27MX78eEyZMqXOdjs7O4SHh+PEiRO4cOGCyba1a9diwYIFKCgoaOIzIXpwHAkRWYmQkBD07dsXGzZswPXr19G1a1dcv34du3btQkBAAMLCwpCYmGjcPyMjA6tXr0a7du0wePBgHDp0CAaDwbjd2dkZI0aMwIoVK/Djjz9i6tSpmDp1Kry8vHD8+HEcO3YMkydPRufOncU4XSIAXLaHyKoUFhbigw8+wLFjx3Djxg24uLhg6NChWLJkCTw8PEweVv3iiy/w2muvNfhd3t7e+O677wAAGo0GCQkJOHnyJEpLS+Hr64uJEyciKiqq3hEWUXNhCBERkWh4T4iIiETDECIiItEwhIiISDQMISIiEg1DiIiIRMMQIiIi0TCEiIhINAwhIiISDUOIiIhEwxAiIiLR/D/pY50FyjN5TAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(df_size_and_price['size'], df_size_and_price['price'])\n",
    "sizes = np.linspace(0, 40, 100).reshape(-1, 1)\n",
    "predictions = hub_sp.predict(sizes)\n",
    "plt.plot(sizes, predictions)\n",
    "plt.xlabel('size')\n",
    "plt.ylabel('price')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10255.223839666982"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse2 = mean_squared_error(hub_sp.predict(df_size_and_price[['size']]),\n",
    "                          df_size_and_price['price'])\n",
    "mse2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "16.401784174952567"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Compared to our answer in 4c, the MSE is actually worse. This is because our HuberRegressor optimizes the MAE, not the MSE.\n",
    "mae2 = mean_absolute_error(hub_sp.predict(df_size_and_price[['size']]),\n",
    "                           df_size_and_price['price'])\n",
    "mae2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([10.07300749])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hub_sp.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5238989589457136"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hub_sp.intercept_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([15.36310176])"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#extra\n",
    "# If we pick a large epsilon, we'll get approximately the same model results as we did in part 4b\n",
    "f_sp_hub_large_epsilon = linear_model.HuberRegressor(epsilon=1000)\n",
    "f_sp_hub_large_epsilon.fit(df_size_and_price[['size']],\n",
    "                           df_size_and_price['price'])\n",
    "f_sp_hub_large_epsilon.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
